home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Contributed Scores / Piano Inventions / Invention 1 < prev    next >
Lisp/Scheme  |  1998-10-26  |  7KB  |  238 lines

  1. ; Invention I - solo keyboard  (section 1)
  2.  
  3. (setq tonal (activate-tonality (chromatic c 3))
  4.       tonal1 (activate-tonality (chromatic c 4))
  5.       tonal2 (activate-tonality (chromatic c 5))
  6.       tonal3 (activate-tonality (whole-tone c 6))
  7.       )
  8.  
  9. (setq sym1 '(l k a c)
  10.       sym2 (gen-random 0.4 8 sym1)
  11.       sym3 '(= b c e f lc -b ka -b -c)
  12.       sym4 (gen-random-variate 0.4 0.07 -3 3 sym3)
  13.       )
  14.  
  15. (setq rhy1 '(1/8 1/8 -1/8t 1/8t 1/8t 1/16 1/16 1/16 1/16)
  16.       rhy2 (gen-loop '((1 5 1) (2 5 1)) 
  17.                      '(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5))
  18.       rhy3 '(1/2 1/16 -1/2)
  19.       rhy4 (gen-loop '((1 4 1) (2 5 2)) '(-1/32 1/32 1/32 1/32 1/32))
  20.       )
  21.  
  22. (def-symbol
  23.   p1 sym2
  24.   p2 sym1
  25.   p3 sym4
  26.   p4 sym3
  27.   p5 '(aelsx)
  28.   p6 (find-change (gen-fibonacci-trans 4 sym1 sym2))                                    
  29. )
  30.  
  31. (def-length
  32.   p1 '(1/16 1/16 1/16 1/16 -1/16 1/16 -1/16 1/16 
  33.        1/16 1/16 1/16 -1/8 1/16 1/16)
  34.   p2 '(1/8 -1/8 1/8 1/8 -1/8 1/8 1/8 1/8)
  35.   p3 rhy1
  36.   p4 rhy2
  37.   p5 rhy3
  38.   p6 rhy4
  39. )
  40.  
  41.  
  42. (compile-song "ccl;output:" 1/4 "invention1a"
  43.  
  44. ;             !---!---!---!---!---!---!---!---!---   
  45. p1 tonal     "    ---  -   --          -         "
  46. p2 tonal3    "      ----  -        -- -          "
  47. p3 tonal1    "          ---          --          "
  48. p4 tonal2    "  --           ---        --       "
  49. p5 tonal     "--                              -  "
  50. p6 tonal2    "                  ---       ----   "                
  51. )
  52.  
  53. ; Invention 1 - solo keyboard (section 2)
  54.  
  55. (setq tonal (activate-tonality (chromatic c 3))
  56.       tonal1 (activate-tonality (chromatic c 4))
  57.       tonal2 (activate-tonality (chromatic c 5))
  58.       tonal3 (activate-tonality (whole-tone c 6))
  59.       )
  60.  
  61. (setq sym1 '(l k a c)
  62.       sym2 (gen-random 0.4 8 sym1)
  63.       sym3 '(= b c e f lc -b ka -b -c)
  64.       sym4 (gen-random-variate 0.4 0.07 -3 3 sym3)
  65.       )
  66.  
  67. (def-neuron ext1
  68.   (or (in 1 '(l k))
  69.       (in 2 '(k k))
  70.       (in 3 '(lc -b))
  71.       (in 4 '(b b)))
  72.   (fill-template (append sym1 sym2 sym3 sym4)
  73.                  (gen-fibonacci-trans 4 sym1 sym2))
  74.   (otherwise (list (in 1 0) (in 2 0) (in 3 0) (in 4 0)))
  75. )
  76.  
  77. (setq sym5 (run-neuron 'ext1
  78.             sym1 sym2 sym3 sym4)
  79. )
  80.  
  81. ; -> (l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o 
  82. ;l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o a a c b 
  83. ;l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o)
  84.  
  85. (setq rhy1 '(1/8 1/8 -1/8t 1/8t 1/8t 1/16 1/16 1/16 1/16)
  86.       rhy2 (gen-loop '((1 5 1) (2 5 1)) 
  87.                      '(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5))
  88.       rhy3 '(1/2 1/16 -1/2)
  89.       rhy4 (gen-loop '((1 4 1) (2 5 2)) '(-1/32 1/32 1/32 1/32 1/32))
  90.       )
  91.  
  92. (def-neuron ext2
  93.   (in 1 '(l k a c)) '(1/16 1/16 1/16 1/16)
  94.   (in 1 '(b l l l l)) '(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5)
  95.   (in 1 '(o o o o)) '(-1/32 1/32 1/32 1/32)
  96.   (in 1 '(n d f g)) '(1/32 1/32 1/32 1/32)
  97. (otherwise '1/8)
  98. )
  99.  
  100. (setq rhy5 (run-neuron 'ext2
  101.             sym5)
  102. )
  103.  
  104. (def-symbol
  105.   p1 sym2
  106.   p2 sym1
  107.   p3 sym4
  108.   p4 sym3
  109.   p5 '(aelsx)
  110.   p6 (find-change (gen-fibonacci-trans 4 sym1 sym2)) 
  111.   p7 sym5
  112. )
  113.  
  114. (def-length
  115.   p1 '(1/16 1/16 1/16 1/16 -1/16 1/16 -1/16 1/16 
  116.        1/16 1/16 1/16 -1/8 1/16 1/16)
  117.   p2 '(1/8 -1/8 1/8 1/8 -1/8 1/8 1/8 1/8)
  118.   p3 rhy1
  119.   p4 rhy2
  120.   p5 rhy3
  121.   p6 rhy4
  122.   p7 rhy5
  123. )
  124.  
  125. (compile-song "ccl;output:" 1/4 "invention1b"
  126.  
  127. ;             !---!---!---!---!---!---!---!---!---!---   
  128. p1 tonal     "-  -    ---   --                      --"
  129. p2 tonal3    "                                 ---    "
  130. p3 tonal1    "          -     ---                     "
  131. p4 tonal2    "    --                    ---       -   "
  132. p5 tonal     "                        --           -  "
  133. p6 tonal2    "      ---                    ----       "
  134. p7 tonal2    "----       -----  ------         -------"
  135. )
  136.  
  137. ; Invention 1 - solo keyboard (section 3)
  138.  
  139. (setq tonal (activate-tonality (chromatic c 3))
  140.       tonal1 (activate-tonality (chromatic c 4))
  141.       tonal2 (activate-tonality (chromatic c 5))
  142.       tonal3 (activate-tonality (whole-tone c 6))
  143.       )
  144.  
  145. (setq sym1 '(l k a c)
  146.       sym2 (gen-random 0.4 8 sym1)
  147.       sym3 '(= b c e f lc -b ka -b -c)
  148.       sym4 (gen-random-variate 0.4 0.07 -3 3 sym3)
  149.       )
  150.  
  151. (setq ch1 '(aelsx)
  152. (setq ch2 (gen-random-variate 0.4 0.07 -3 3 
  153.                          (gen-random 0.4 34 '(aelsx ae lsx a elx))))
  154.  
  155. ;-->(ae aelsx a lsx elx dkw mty -b krw cg krw cjv fmy cgnuz cg mty c nuz dh 
  156. ;a lsx -b mty aelsx aelsx ae fmy fmy -b ae ae krw ae elx)
  157.  
  158. (def-neuron ext1
  159.   (or (in 1 '(l k))
  160.       (in 2 '(k k))
  161.       (in 3 '(lc -b))
  162.       (in 4 '(b b)))
  163.   (fill-template (append sym1 sym2 sym3 sym4)
  164.                  (gen-fibonacci-trans 4 sym1 sym2))
  165.   (otherwise (list (in 1 0) (in 2 0) (in 3 0) (in 4 0)))
  166. )
  167.  
  168. (setq sym5 (run-neuron 'ext1
  169.             sym1 sym2 sym3 sym4)
  170. )
  171.  
  172. ;--> (l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o 
  173. ;l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o a a c b 
  174. ;l k a c d d b l l l l d = n m c e o n d f g = g e o o o o g p o)
  175.  
  176. (setq rhy1 '(1/8 1/8 -1/8t 1/8t 1/8t 1/16 1/16 1/16 1/16)
  177.       rhy2 (gen-loop '((1 5 1) (2 5 1)) 
  178.                      '(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5))
  179.       rhy3 '(1/2 1/16 -1/2)
  180.       rhy4 (gen-loop '((1 4 1) (2 5 2)) '(-1/32 1/32 1/32 1/32 1/32))
  181.       )
  182.  
  183. (def-neuron ext2
  184.   (in 1 '(l k a c)) '(1/16 1/16 1/16 1/16)
  185.   (in 1 '(b l l l l)) '(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5)
  186.   (in 1 '(o o o o)) '(-1/32 1/32 1/32 1/32)
  187.   (in 1 '(n d f g)) '(1/32 1/32 1/32 1/32)
  188. (otherwise '1/8)
  189. )
  190.  
  191. (setq rhy5 (run-neuron 'ext2
  192.             sym5)
  193. )
  194.  
  195. (setq rhy6 (gen-random-keep 0.4 34 '(1 2 3 4 5 6 7 8 9 10 13 14 15 20) 
  196.                             (append rhy2 rhy1 rhy3 
  197.                                     (change-length times 2 rhy4)) 
  198.                             '(1/4 1/16 1/8 1/8 1/8 -1/8)))
  199.  
  200. ;-->(-1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 1/4-5 -1/8 1/16 
  201. ;-1/8t 1/8t 1/8t 1/8 1/8 1/8 1/8 1/2 -1/8 -1/8 1/16 1/4 1/4 1/8 1/8 
  202. ;1/8 1/8 1/16 1/8 1/8 1/8 1/16)
  203.  
  204.  
  205. (def-symbol
  206.   p1 sym2
  207.   p2 sym1
  208.   p3 sym4
  209.   p4 sym3
  210.   p5 ch2
  211.   p6 (find-change (gen-fibonacci-trans 4 sym1 sym2)) 
  212.   p7 sym5
  213. )
  214.  
  215. (def-length
  216.   p1 '(1/16 1/16 1/16 1/16 -1/16 1/16 -1/16 1/16 
  217.        1/16 1/16 1/16 -1/8 1/16 1/16)
  218.   p2 '(1/8 -1/8 1/8 1/8 -1/8 1/8 1/8 1/8)
  219.   p3 rhy1
  220.   p4 rhy2
  221.   p5 rhy6
  222.   p6 rhy4
  223.   p7 rhy5
  224. )
  225.  
  226.  
  227. (compile-song "ccl;output:" 1/4 "invention1c"
  228.  
  229. ;             !---!---!---!---!---!---!---!---!---!---!---!   
  230. p1 tonal     "    -- - --     -        - - - --            "
  231. p2 tonal3    "                                             "
  232. p3 tonal1    "                                             "
  233. p4 tonal2    "                                             "
  234. p5 tonal1    "----       -----  ------         ------- ----"                                        
  235. p6 tonal2    "                                             "             
  236. p7 tonal2    "    -------     --      ---------            "
  237. )
  238.